package cn.iocoder.yudao.module.api.product.category;

import cn.iocoder.yudao.module.api.product.category.dto.CategoryRespDTO;

import java.util.List;
import java.util.Set;

/**
 * 产品分类 API 接口
 *
 * @author owen
 */
public interface ProductCategoryApi {

    /**
     * 校验产品分类是否有效。如下情况，视为无效：
     * 1. 产品分类编号不存在
     * 2. 产品分类被禁用
     *
     * @param ids 产品分类编号数组
     */
    void validateCategoryList(Set<Long> ids);

    /**
     * 获得产品分类列表
     *
     * @param ids 产品分类编号数组
     * @return 产品分类列表
     */
    List<CategoryRespDTO> getCategoryList(Set<Long> ids);

    /**
     * 根据产品分类父级编号获取下级分类列表
     *
     * @param parentId 产品分类父级编号
     */
    List<CategoryRespDTO> getCategoryListByParentId(Long parentId);

}
